#include "ModelEvents.h"

EventArguments::EventArguments(const std::string& i_string)
  : m_string(i_string)
  {

  }

const std::string& EventArguments::GetString() const
  {
  return m_string;
  }

void SimpleEvent::AddSubscriber(Observer i_observer)
  {
  m_subscribers.push_back(i_observer);
  }

void SimpleEvent::RemoveSubscriber(Observer i_observer)
  {
  // remove subscriber here
  }

void SimpleEvent::Notify(EventArguments& e)
  {
  for (auto it : m_subscribers)
    {
    it(e);
    }
  }

SimpleEvent::SimpleEvent()
  : m_subscribers()
  {

  }